; Music of Reveal (1988) (Mastertronic)
; Ripped by Megachur the 22/02/2007

	write "REVEAL.BIN"

music_date_rip	equ &1627
music_adr	equ &329b
first_theme	equ 0
last_theme	equ 0

	read "music_header_v1_0.asm"

.l329b
	push bc
	ld a,c
	add #08
	ld c,e
	call l32b3
	pop bc
	ret
	push bc
	ld a,c
	add a
	ld c,e
	call l32b3
	inc a
	ld c,d
	call l32b3
	pop bc
	ret

.l32b3
	push af
	push bc
	ld b,#f4
	out (c),a
	ld b,#f6
	in a,(c)
	or #c0
	out (c),a
	and #3f
	out (c),a
	ld b,#f4
	out (c),c
	ld b,#f6
	ld c,a
	or #80
	out (c),a
	out (c),c
	pop bc
	pop af
	ret
	db #00
.l32d6
	ld hl,(l33a9)
	ld a,(hl)
	inc a
	jr nz,l32d6
	ld hl,(l33ad)
	ld a,(hl)
	inc a
	jr nz,l32d6
	ld hl,(l33b1)
	ld a,(hl)
	inc a
	ret z
	jp l32d6
;
.init_music
;
	ld hl,#0f00
	ld (l33ab),hl
	ld (l33af),hl
	ld (l33b3),hl
	ld hl,l34a8
	ld (l33a9),hl
	ld hl,l36ef
	ld (l33ad),hl
	ld hl,l385a
	ld (l33b1),hl
	di
	ld hl,l331f
	jp l349c              ; Modified by Megachur call l349c
	ld a,#c3
	ld (#0038),a
	ld hl,l336e
	ld (#0039),hl
	ei
	halt
	ret
.l331f
	db #00,#00,#01,#00,#02,#00,#03,#00
	db #04,#00,#05,#00,#06,#00,#07,#38
	db #08,#0f,#09,#0f,#0a,#0f,#0b,#00
	db #0c,#01,#0d,#0d,#ff
	di
	ld hl,#3235
	ld (#0039),hl
	ld hl,l3351
	call l349c
	ld hl,#71cf
	ld (#71cd),hl
	ei
	ret
.l3351
	db #00,#00,#01,#00,#02,#00,#03,#00
	db #04,#00,#05,#00,#06,#00,#07,#38
	db #08,#00,#09,#00,#0a,#00,#0b,#00
	db #0c,#00,#0d,#00,#ff
.l336e
	di
	push af
	push bc
	push de
	push hl
	push ix
	ld a,(l33a8)
	inc a
	and #03
	ld (l33a8),a
	call z,l338a
	pop ix
	pop hl
	pop de
	pop bc
	pop af
	ei
	reti
;
.play_music
;
.l338a
	ld ix,l33a9
	ld c,#00
	call l33b5
	ld ix,l33ad
	ld c,#01
	call l33b5
	ld ix,l33b1
	ld c,#02
	call l33b5
	ret
	defs 2,0	;jp #79cf
.l33af equ $ + 7
.l33ad equ $ + 5
.l33ab equ $ + 3
.l33a9 equ $ + 1
.l33a8
	db #00,#00,#00,#00,#00,#00,#00,#00
.l33b3 equ $ + 3
.l33b1 equ $ + 1
	db #00,#00,#00,#00,#00
.l33b5
	ld a,(ix+#02)
	and a
	jr z,l33d1
	dec a
	ld (ix+#02),a
	and #03
	ret z
	ld a,(ix+#03)
	cp #08
	ret z
	dec a
	ld (ix+#03),a
	ld e,a
	call l329b
	ret
.l33d1
	ld e,#00
	call l329b
	ld l,(ix+#00)
	ld h,(ix+#01)
	ld a,(hl)
	inc a
	ret z
	dec a
	call l33fc
	call #32a5
	ld e,#0f
	call l329b
	ld (ix+#03),e
	inc hl
	ld a,(hl)
	dec a
	ld (ix+#02),a
	inc hl
	ld (ix+#00),l
	ld (ix+#01),h
	ret
.l33fc
	push hl
	ld l,a
	ld h,#00
	add hl,hl
	ld de,l340a
	add hl,de
	ld e,(hl)
	inc hl
	ld d,(hl)
	pop hl
	ret
.l340a
	dw #0000,#08e1,#0861,#07e9
	dw #0777,#070c,#06a7,#0647
	dw #05ed,#0598,#0547,#04fc
	dw #04b4,#0470,#0431,#03f4
	dw #03bc,#0386,#0353,#0324
	dw #02f6,#02cc,#02a4,#027e
	dw #025a,#0238,#0218,#01fa
	dw #01de,#01c3,#01aa,#0192
	dw #017b,#0166,#0152,#013f
	dw #012d,#011c,#010c,#00fd
	dw #00ef,#00e1,#00d5,#00c9
	dw #00be,#00b3,#00a9,#009f
	dw #0096,#008e,#0086,#007f
	dw #0077,#0071,#006a,#0064
	dw #005f,#0059,#0054,#0050
	dw #004b,#0047,#0043,#003f
	dw #003c,#0038,#0035,#0032
	dw #002f,#002d,#002a,#0028
	ld h,#00
.l349c
	ld a,(hl)
	inc a
	ret z
	dec a
	inc hl
	ld c,(hl)
	call l32b3
	jp l349c
.l34a8
	db #00,#0c,#2f,#0c,#36,#0c,#2f,#0c
	db #33,#0c,#36,#18,#2e,#0c,#36,#0c
	db #2e,#0c,#31,#0c,#36,#3c,#00,#0c
	db #2f,#0c,#36,#0c,#2f,#0c,#33,#0c
	db #36,#18,#2e,#0c,#36,#0c,#2e,#0c
	db #31,#0c,#36,#30,#36,#0c,#00,#0c
	db #2f,#0c,#32,#0c,#37,#0c,#00,#0c
	db #36,#0c,#00,#0c,#36,#0c,#00,#0c
	db #2f,#0c,#32,#0c,#37,#0c,#00,#0c
	db #36,#0c,#00,#18,#03,#0c,#1a,#0c
	db #1e,#0c,#23,#0c,#17,#0c,#26,#0c
	db #2a,#0c,#2f,#0c,#23,#0c,#32,#0c
	db #36,#0c,#3b,#0c,#2f,#0c,#3e,#0c
	db #42,#0c,#47,#0c,#3b,#18,#3b,#18
	db #3b,#18,#3b,#0c,#3b,#18,#36,#0c
	db #38,#0c,#33,#0c,#36,#0c,#38,#18
	db #3b,#18,#3d,#0c,#3e,#0c,#3b,#0c
	db #3d,#0c,#3f,#18,#3b,#0c,#3f,#0c
	db #3b,#0c,#3d,#18,#3b,#18,#00,#0c
	db #3b,#24,#3b,#18,#3b,#18,#3b,#0c
	db #3b,#18,#36,#0c,#38,#0c,#33,#0c
	db #36,#0c,#38,#18,#2f,#18,#31,#0c
	db #32,#0c,#2f,#0c,#31,#0c,#33,#18
	db #2f,#0c,#33,#0c,#2f,#0c,#31,#18
	db #2f,#18,#00,#18,#00,#0c,#3a,#0c
	db #42,#0c,#3a,#0c,#3d,#0c,#41,#18
	db #3a,#0c,#40,#0c,#36,#0c,#3a,#0c
	db #3f,#18,#36,#0c,#3d,#0c,#36,#0c
	db #00,#0c,#33,#0c,#3b,#0c,#33,#0c
	db #36,#0c,#38,#18,#33,#0c,#3b,#0c
	db #33,#0c,#36,#0c,#38,#18,#33,#0c
	db #38,#18,#00,#0c,#36,#0c,#3a,#0c
	db #31,#0c,#34,#0c,#38,#18,#36,#0c
	db #3a,#0c,#31,#0c,#34,#0c,#38,#18
	db #34,#0c,#38,#18,#00,#0c,#33,#0c
	db #3b,#0c,#33,#0c,#36,#0c,#38,#18
	db #33,#0c,#3b,#0c,#33,#0c,#36,#0c
	db #38,#18,#33,#0c,#38,#18,#00,#0c
	db #3a,#0c,#42,#0c,#3a,#0c,#3d,#0c
	db #41,#18,#3a,#0c,#40,#0c,#36,#0c
	db #3a,#0c,#3f,#18,#36,#0c,#3d,#0c
	db #36,#0c,#00,#0c,#33,#0c,#3b,#0c
	db #33,#0c,#36,#0c,#38,#18,#33,#0c
	db #3b,#18,#3b,#18,#3a,#18,#39,#18
	db #00,#0c,#2c,#0c,#30,#0c,#33,#0c
	db #38,#0c,#33,#0c,#30,#0c,#2c,#0c
	db #00,#0c,#2c,#0c,#31,#0c,#34,#0c
	db #38,#18,#34,#18,#33,#24,#33,#0c
	db #00,#0c,#31,#18,#2a,#0c,#2f,#18
	db #36,#18,#3b,#18,#00,#18,#2f,#24
	db #31,#18,#36,#0c,#31,#18,#2f,#24
	db #31,#18,#36,#0c,#31,#0c,#36,#0c
	db #2f,#0c,#34,#0c,#31,#0c,#34,#0c
	db #38,#0c,#2f,#0c,#34,#0c,#38,#0c
	db #31,#0c,#34,#0c,#38,#0c,#2f,#18
	db #38,#0c,#31,#0c,#38,#0c,#2f,#24
	db #31,#18,#36,#0c,#31,#18,#2f,#24
	db #31,#18,#36,#0c,#31,#0c,#36,#0c
	db #2f,#0c,#34,#0c,#31,#0c,#34,#0c
	db #38,#0c,#2f,#0c,#34,#0c,#38,#0c
	db #31,#0c,#34,#0c,#38,#0c,#2f,#18
	db #38,#0c,#30,#0c,#38,#0c,#31,#24
	db #33,#18,#38,#0c,#33,#18,#31,#24
	db #33,#18,#39,#0c,#33,#0c,#39,#0c
	db #00,#0c,#36,#0c,#3d,#0c,#36,#0c
	db #39,#0c,#3f,#18,#36,#0c,#3d,#0c
	db #36,#0c,#38,#0c,#3f,#18,#36,#0c
	db #3d,#18,#40,#18,#40,#18,#3f,#18
	db #3d,#18,#38,#0c,#34,#0c,#36,#0c
	db #39,#18,#31,#0c,#38,#18,#38,#0c
	db #34,#0c,#36,#0c,#38,#18,#33,#0c
	db #36,#0c,#34,#18,#34,#0c,#38,#0c
.l36ef equ $ + 7
	db #3b,#0c,#40,#18,#00,#01,#ff,#17
	db #18,#27,#18,#27,#18,#18,#18,#19
	db #18,#28,#18,#28,#18,#12,#18,#17
	db #18,#27,#18,#27,#18,#18,#18,#19
	db #18,#28,#18,#28,#18,#12,#18,#1f
	db #30,#1e,#18,#1e,#18,#1f,#30,#1e
	db #18,#00,#18,#00,#60,#00,#60,#32
	db #18,#32,#18,#32,#18,#32,#18,#33
	db #18,#33,#18,#33,#18,#33,#18,#32
	db #18,#32,#18,#33,#18,#33,#18,#33
	db #18,#34,#18,#33,#18,#00,#18,#26
	db #18,#26,#18,#26,#18,#26,#18,#27
	db #18,#27,#18,#27,#18,#27,#18,#26
	db #18,#26,#18,#27,#18,#27,#18,#27
	db #18,#28,#18,#27,#18,#18,#18,#19
	db #18,#28,#18,#12,#18,#28,#18,#19
	db #18,#28,#18,#12,#18,#28,#18,#17
	db #18,#27,#18,#12,#18,#27,#18,#17
	db #18,#27,#18,#17,#18,#18,#18,#19
	db #18,#28,#18,#12,#18,#28,#18,#19
	db #18,#28,#18,#19,#18,#1a,#18,#1b
	db #18,#27,#18,#12,#18,#27,#18,#17
	db #18,#27,#18,#17,#18,#18,#18,#19
	db #18,#28,#18,#12,#18,#28,#18,#19
	db #18,#28,#18,#12,#18,#28,#18,#17
	db #18,#27,#18,#12,#18,#27,#18,#17
	db #18,#23,#18,#22,#18,#21,#18,#20
	db #18,#20,#18,#24,#18,#24,#18,#19
	db #18,#28,#18,#28,#18,#20,#18,#20
	db #18,#20,#18,#1e,#18,#1e,#18,#1e
	db #18,#1e,#18,#1e,#18,#00,#18,#1e
	db #18,#27,#18,#17,#18,#27,#18,#1e
	db #18,#27,#18,#17,#18,#27,#18,#1c
	db #18,#2c,#18,#17,#18,#2c,#18,#20
	db #18,#2c,#18,#1c,#18,#1d,#18,#1e
	db #18,#27,#18,#17,#18,#27,#18,#1e
	db #18,#27,#18,#17,#18,#27,#18,#1c
	db #18,#2c,#18,#17,#18,#2c,#18,#20
	db #18,#2c,#18,#1c,#18,#1b,#18,#19
	db #18,#29,#18,#1d,#18,#29,#18,#20
	db #18,#29,#18,#19,#18,#29,#18,#1e
	db #18,#2a,#18,#19,#18,#2a,#18,#1e
	db #18,#2a,#18,#21,#18,#2a,#18,#22
	db #18,#2b,#18,#22,#18,#2b,#18,#2c
	db #18,#00,#18,#29,#30,#22,#30,#23
	db #30,#2c,#18,#23,#18,#1c,#18,#00
.l385a equ $ + 2
	db #01,#ff,#00,#18,#1e,#18,#1e,#18
	db #00,#18,#00,#18,#1e,#18,#1e,#18
	db #00,#18,#00,#18,#1e,#18,#1e,#18
	db #00,#18,#00,#18,#1e,#18,#1e,#18
	db #00,#18,#13,#30,#12,#18,#12,#18
	db #13,#30,#12,#18,#00,#18,#00,#60
	db #00,#60,#29,#18,#29,#18,#29,#18
	db #29,#18,#2a,#18,#2a,#18,#2a,#18
	db #2a,#18,#2b,#18,#2b,#18,#2a,#18
	db #2a,#18,#2a,#18,#2a,#18,#2a,#18
	db #00,#18,#1d,#18,#1d,#18,#1d,#18
	db #1d,#18,#1e,#18,#1e,#18,#1e,#18
	db #1e,#18,#1f,#18,#1f,#18,#1e,#18
	db #1e,#18,#1e,#18,#1e,#18,#23,#18
	db #00,#18,#00,#18,#1e,#18,#00,#18
	db #1e,#18,#00,#18,#1e,#18,#00,#18
	db #1e,#18,#00,#18,#1e,#18,#00,#18
	db #1e,#18,#00,#18,#1e,#18,#00,#30
	db #00,#18,#1e,#18,#00,#18,#1e,#18
	db #00,#18,#1e,#18,#00,#30,#00,#18
	db #1e,#18,#00,#18,#1e,#18,#00,#18
	db #1e,#18,#00,#30,#00,#18,#1e,#18
	db #00,#18,#1e,#18,#00,#18,#1e,#18
	db #00,#18,#1e,#18,#00,#18,#1e,#18
	db #00,#18,#1e,#18,#00,#18,#17,#18
	db #16,#18,#15,#18,#14,#18,#14,#18
	db #18,#18,#18,#18,#00,#18,#20,#18
	db #20,#18,#00,#18,#19,#18,#19,#18
	db #12,#18,#12,#18,#17,#18,#12,#18
	db #17,#18,#00,#18,#00,#18,#21,#18
	db #00,#18,#21,#18,#00,#18,#21,#18
	db #00,#18,#21,#18,#00,#18,#23,#18
	db #00,#18,#23,#18,#00,#18,#23,#18
	db #00,#30,#00,#18,#21,#18,#00,#18
	db #21,#18,#00,#18,#21,#18,#00,#18
	db #21,#18,#00,#18,#23,#18,#00,#18
	db #23,#18,#00,#18,#23,#18,#00,#30
	db #00,#18,#23,#18,#00,#18,#23,#18
	db #00,#18,#23,#18,#00,#18,#23,#18
	db #00,#18,#21,#18,#00,#18,#21,#18
	db #00,#18,#25,#18,#00,#18,#25,#18
	db #00,#18,#25,#18,#00,#18,#25,#18
	db #23,#18,#00,#18,#23,#30,#00,#18
	db #28,#18,#00,#18,#2d,#18,#2c,#18
	db #00,#01,#ff,#06,#07

.game_name
	db "Reveal",0
.game_year
	db "1988",0
.game_publisher
	db "Mastertronic",0
.music_author
	db "",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"

